Portable processor-based devices have become very popular in societies around the world. As the popularity of portable electronic devices has increased, so too has consumer dependence on these devices. Consumers now rely on portable electronic devices like personal computers, cellular telephones, and Global Positioning System (GPS) devices, for example, for everything from remote Internet access to communication. Increasingly, consumers demand varied data and voice capabilities in one relatively small device. Manufacturers have responded by producing handheld devices with multiple data, voice and GPS capabilities.
An example of a device that performs several functions or applications is a cellular phone that can send and receive email, send and receive text messages, and locate itself using GPS technology. Personal digital assistants (PDAs) also provide increasingly varied applications to users. Each application requires processing power and memory, some of which may be resident on the device, and some of which may be remotely hosted. Various manufacturers typically produce components and software to perform specific functions on a device. These various components and associated software for various functions are typically inserted in a larger system and must communicate and cooperate so as to efficiently use available resources on the device, including processor cycles and memory.
Even though semiconductor manufacturing technology has progressed to produce greater capability in ever smaller packages, there is always a demand for more processing power and memory, especially on small devices. For example, if memory is not used efficiently, it may be necessary to provide more physical memory, which increases both size and cost of the device. It is therefore desirable for the specifically designed hardware and software to be configurable to flexibly allocate scarce resources, such as memory, when inserted in the larger system of the device. It is further desirable for the specifically designed hardware and software to flexibly allocate resources transparently to other components in the larger system.
In the drawings, the same reference numbers identify identical or substantially similar elements or acts. To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the Figure number in which that element is first introduced (e.g., element 232 is first introduced and discussed with respect to FIG. 2).